package com.xiaoshuidi.cloud.module.rooms.controller.admin.roomhouse.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.List;
import java.util.Map;

@Data
@Schema(description = "添加集中式房源请求对象")
public class ConcentratedAddVO {
    @Schema(description = "公寓名")
    @NotNull(message = "公寓名不能为空")
    private String apartmentName;
    @Schema(description = "公寓id")
    @NotNull(message = "公寓id不能为空")
    private Long apartmentId;
    @Schema(description = "省")
    private String province;
    @Schema(description = "市")
    private String city;
    @Schema(description = "区")
//    @NotNull(message = "地区不能为空")
    private String district;
    @Schema(description = "街道")
    private String street;

//    @NotNull(message = "详细地址不能为空")
    @Schema(description = "详细地址")
    @Size(min = 0,max = 50,message = "详细地址不能超过50个字")
    private String address;

    @Schema(description = "小区id")
    private Long areaId;
    @Schema(description = "小区名称")
    @Size(min = 0, max = 20, message = "小区名称不能超过20个字")
    private String areaName;

    @Schema(description = "楼栋")
    private String buildingNo;

    @Schema(description = "单元")
    private String unitNo;

    @Schema(description = "楼层数")
    @NotNull(message = "楼层数不能为空")
    private Integer floorNum;
    @Schema(description = "地面楼层数")
    @NotNull(message = "地面楼层数不能为空")
    private Integer groundFloorNum;

    @Schema(description = "所在楼层")
    @NotNull(message = "所在楼层不能为空")
    private List<Integer> inFloorNum;

    @Schema(description = "每层房间数")
    @NotNull(message = "每层房间数不能为空")
    private Integer floorRoomNum;

    @NotNull(message = "房间信息不能为空")
    @Schema(description = "房间信息")
    private Map<Integer, List<RoomInfoDto>> roomInfo;
    @Schema(description = "备案信息")
    private RecordInfoDto recordInfoDto;

    @Schema(description = "房源类型(用途): 办公室、住房")
    private String roomUsage;
}
